home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / drivers / missile.c < prev    next >
C/C++ Source or Header  |  2000-04-04  |  15KB  |  444 lines

  1. /***************************************************************************
  2.  
  3.  
  4.       Modified from original schematics...
  5.  
  6.       MISSILE COMMAND
  7.       ---------------
  8.       HEX         R/W   D7 D6 D5 D4 D3 D2 D2 D0    function
  9.       ---------+-----+------------------------+------------------------
  10.       0000-01FF  R/W   D  D  D    D  D  D  D    D    512 bytes working ram
  11.  
  12.       0200-05FF  R/W   D  D  D    D  D  D  D    D    3rd color bit region
  13.                                                 of screen ram.
  14.                                                 Each bit of every odd byte is the low color
  15.                                                 bit for the bottom scanlines
  16.                                                 The schematics say that its for the bottom
  17.                                                 32 scanlines, although the code only accesses
  18.                                                 $401-$5FF for the bottom 8 scanlines...
  19.                                                 Pretty wild, huh?
  20.  
  21.       0600-063F  R/W   D  D  D    D  D  D  D    D    More working ram.
  22.  
  23.       0640-3FFF  R/W   D  D  D    D  D  D  D    D    2-color bit region of
  24.                                                 screen ram.
  25.                                                 Writes to 4 bytes each to effectively
  26.                                                 address $1900-$ffff.
  27.  
  28.       1900-FFFF  R/W   D  D                     2-color bit region of
  29.                                                 screen ram
  30.                                                       Only accessed with
  31.                                                        LDA ($ZZ,X) and
  32.                                                        STA ($ZZ,X)
  33.                                                       Those instructions take longer
  34.                                                       than 5 cycles.
  35.  
  36.       ---------+-----+------------------------+------------------------
  37.       4000-400F  R/W   D  D  D    D  D  D  D    D    POKEY ports.
  38.       -----------------------------------------------------------------
  39.       4008         R       D  D  D    D  D  D  D    D    Game Option switches
  40.       -----------------------------------------------------------------
  41.       4800         R       D                        Right coin
  42.       4800         R          D                     Center coin
  43.       4800         R             D                    Left coin
  44.       4800         R                D                1 player start
  45.       4800         R                   D            2 player start
  46.       4800         R                      D         2nd player left fire(cocktail)
  47.       4800         R                         D        2nd player center fire    "
  48.       4800         R                            D    2nd player right fire    "
  49.       ---------+-----+------------------------+------------------------
  50.       4800         R                   D  D  D    D    Horiz trackball displacement
  51.                                                             if ctrld=high.
  52.       4800         R       D  D  D    D                Vert trackball displacement
  53.                                                             if ctrld=high.
  54.       ---------+-----+------------------------+------------------------
  55.       4800         W       D                        Unused ??
  56.       4800         W          D                     screen flip
  57.       4800         W             D                    left coin counter
  58.       4800         W                D                center coin counter
  59.       4800         W                   D            right coin counter
  60.       4800         W                      D         2 player start LED.
  61.       4800         W                         D        1 player start LED.
  62.       4800         W                            D    CTRLD, 0=read switches,
  63.                                                             1= read trackball.
  64.       ---------+-----+------------------------+------------------------
  65.       4900         R       D                        VBLANK read
  66.       4900         R          D                     Self test switch input.
  67.       4900         R             D                    SLAM switch input.
  68.       4900         R                D                Horiz trackball direction input.
  69.       4900         R                   D            Vert trackball direction input.
  70.       4900         R                      D         1st player left fire.
  71.       4900         R                         D        1st player center fire.
  72.       4900         R                            D    1st player right fire.
  73.       ---------+-----+------------------------+------------------------
  74.       4A00         R       D  D  D    D  D  D  D    D    Pricing Option switches.
  75.       4B00-4B07  W                   D  D  D    D    Color RAM.
  76.       4C00         W                                Watchdog.
  77.       4D00         W                                Interrupt acknowledge.
  78.       ---------+-----+------------------------+------------------------
  79.       5000-7FFF  R       D  D  D    D  D  D  D    D    Program.
  80.       ---------+-----+------------------------+------------------------
  81.  
  82.  
  83.  
  84.  
  85. MISSILE COMMAND SWITCH SETTINGS (Atari, 1980)
  86. ---------------------------------------------
  87.  
  88.  
  89. GAME OPTIONS:
  90. (8-position switch at R8)
  91.  
  92. 1    2    3    4    5    6    7    8    Meaning
  93. -------------------------------------------------------------------------
  94. Off Off                         Game starts with 7 cities
  95. On    On                            Game starts with 6 cities
  96. On    Off                         Game starts with 5 cities
  97. Off On                            Game starts with 4 cities
  98.         On                        No bonus credit
  99.         Off                     1 bonus credit for 4 successive coins
  100.             On                    Large trak-ball input
  101.             Off                 Mini Trak-ball input
  102.                 On    Off Off     Bonus city every  8000 pts
  103.                 On    On    On        Bonus city every 10000 pts
  104.                 Off On    On        Bonus city every 12000 pts
  105.                 On    Off On        Bonus city every 14000 pts
  106.                 Off Off On        Bonus city every 15000 pts
  107.                 On    On    Off     Bonus city every 18000 pts
  108.                 Off On    Off     Bonus city every 20000 pts
  109.                 Off Off Off     No bonus cities
  110.                             On    Upright
  111.                             Off Cocktail
  112.  
  113.  
  114.  
  115. PRICING OPTIONS:
  116. (8-position switch at R10)
  117.  
  118. 1    2    3    4    5    6    7    8    Meaning
  119. -------------------------------------------------------------------------
  120. On    On                            1 coin 1 play
  121. Off On                            Free play
  122. On Off                            2 coins 1 play
  123. Off Off                         1 coin 2 plays
  124.         On    On                    Right coin mech * 1
  125.         Off On                    Right coin mech * 4
  126.         On    Off                 Right coin mech * 5
  127.         Off Off                 Right coin mech * 6
  128.                 On                Center coin mech * 1
  129.                 Off             Center coin mech * 2
  130.                     On    On        English
  131.                     Off On        French
  132.                     On    Off     German
  133.                     Off Off     Spanish
  134.                             On    ( Unused )
  135.                             Off ( Unused )
  136.  
  137.  
  138. ******************************************************************************************/
  139. #include "driver.h"
  140.  
  141. extern unsigned char *missile_video2ram;
  142.  
  143. void missile_init_machine(void);
  144. READ_HANDLER( missile_r );
  145. WRITE_HANDLER( missile_w );
  146.  
  147. int  missile_vh_start(void);
  148. void missile_vh_stop(void);
  149. void missile_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  150.  
  151. WRITE_HANDLER( missile_video_3rd_bit_w );
  152. WRITE_HANDLER( missile_video2_w );
  153.  
  154.  
  155. static struct MemoryReadAddress readmem[] =
  156. {
  157.     { 0x0000, 0x18ff, MRA_RAM },
  158.     { 0x1900, 0xfff9, missile_r }, /* shared region */
  159.     { 0xfffa, 0xffff, MRA_ROM },
  160.     { -1 }    /* end of table */
  161. };
  162.  
  163.  
  164. static struct MemoryWriteAddress writemem[] =
  165. {
  166.     { 0x0000, 0x03ff, MWA_RAM },
  167.     { 0x0400, 0x05ff, missile_video_3rd_bit_w },
  168.     { 0x0600, 0x063f, MWA_RAM },
  169.     { 0x0640, 0x4fff, missile_w }, /* shared region */
  170.     { 0x5000, 0xffff, missile_video2_w, &missile_video2ram },
  171.     { -1 }    /* end of table */
  172. };
  173.  
  174.  
  175.  
  176. INPUT_PORTS_START( missile )
  177.     PORT_START    /* IN0 */
  178.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_COCKTAIL )
  179.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  180.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  181.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
  182.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
  183.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  184.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
  185.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
  186.  
  187.     PORT_START    /* IN1 */
  188.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 )
  189.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  190.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  191.     PORT_BIT( 0x18, 0x00, IPT_UNUSED ) /* trackball input, handled in machine/missile.c */
  192.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  193.     PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_SERVICE , DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  194.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
  195.  
  196.     PORT_START    /* IN2 */
  197.     PORT_DIPNAME(0x03, 0x00, DEF_STR( Coinage ) )
  198.     PORT_DIPSETTING(   0x01, DEF_STR( 2C_1C ) )
  199.     PORT_DIPSETTING(   0x00, DEF_STR( 1C_1C ) )
  200.     PORT_DIPSETTING(   0x03, DEF_STR( 1C_2C ) )
  201.     PORT_DIPSETTING(   0x02, DEF_STR( Free_Play ) )
  202.     PORT_DIPNAME(0x0c, 0x00, "Right Coin" )
  203.     PORT_DIPSETTING(   0x00, "*1" )
  204.     PORT_DIPSETTING(   0x04, "*4" )
  205.     PORT_DIPSETTING(   0x08, "*5" )
  206.     PORT_DIPSETTING(   0x0c, "*6" )
  207.     PORT_DIPNAME(0x10, 0x00, "Center Coin" )
  208.     PORT_DIPSETTING(   0x00, "*1" )
  209.     PORT_DIPSETTING(   0x10, "*2" )
  210.     PORT_DIPNAME(0x60, 0x00, "Language" )
  211.     PORT_DIPSETTING(   0x00, "English" )
  212.     PORT_DIPSETTING(   0x20, "French" )
  213.     PORT_DIPSETTING(   0x40, "German" )
  214.     PORT_DIPSETTING(   0x60, "Spanish" )
  215.     PORT_DIPNAME(0x80, 0x80, DEF_STR( Unknown ) )
  216.     PORT_DIPSETTING(   0x80, DEF_STR( Off ) )
  217.     PORT_DIPSETTING(   0x00, DEF_STR( On ) )
  218.  
  219.     PORT_START    /* IN3 */
  220.     PORT_DIPNAME(0x03, 0x00, "Cities" )
  221.     PORT_DIPSETTING(   0x02, "4" )
  222.     PORT_DIPSETTING(   0x01, "5" )
  223.     PORT_DIPSETTING(   0x03, "6" )
  224.     PORT_DIPSETTING(   0x00, "7" )
  225.     PORT_DIPNAME(0x04, 0x04, "Bonus Credit for 4 Coins" )
  226.     PORT_DIPSETTING(   0x04, DEF_STR( No ) )
  227.     PORT_DIPSETTING(   0x00, DEF_STR( Yes ) )
  228.     PORT_DIPNAME(0x08, 0x00, "Trackball Size" )
  229.     PORT_DIPSETTING(   0x00, "Large" )
  230.     PORT_DIPSETTING(   0x08, "Mini" )
  231.     PORT_DIPNAME(0x70, 0x70, "Bonus City" )
  232.     PORT_DIPSETTING(   0x10, "8000" )
  233.     PORT_DIPSETTING(   0x70, "10000" )
  234.     PORT_DIPSETTING(   0x60, "12000" )
  235.     PORT_DIPSETTING(   0x50, "14000" )
  236.     PORT_DIPSETTING(   0x40, "15000" )
  237.     PORT_DIPSETTING(   0x30, "18000" )
  238.     PORT_DIPSETTING(   0x20, "20000" )
  239.     PORT_DIPSETTING(   0x00, "None" )
  240.     PORT_DIPNAME(0x80, 0x00, DEF_STR( Cabinet ) )
  241.     PORT_DIPSETTING(   0x00, DEF_STR( Upright ) )
  242.     PORT_DIPSETTING(   0x80, DEF_STR( Cocktail ) )
  243.  
  244.     PORT_START    /* FAKE */
  245.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_X, 20, 10, 0, 0)
  246.  
  247.     PORT_START    /* FAKE */
  248.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_Y | IPF_REVERSE, 20, 10, 0, 0)
  249.  
  250.     PORT_START    /* FAKE */
  251.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_X | IPF_REVERSE | IPF_COCKTAIL, 20, 10, 0, 0)
  252.  
  253.     PORT_START    /* FAKE */
  254.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_Y | IPF_REVERSE | IPF_COCKTAIL, 20, 10, 0, 0)
  255. INPUT_PORTS_END
  256.  
  257. INPUT_PORTS_START( suprmatk )
  258.     PORT_START    /* IN0 */
  259.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_COCKTAIL )
  260.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
  261.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
  262.     PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
  263.     PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
  264.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
  265.     PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
  266.     PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
  267.  
  268.     PORT_START    /* IN1 */
  269.     PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON3 )
  270.     PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
  271.     PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
  272.     PORT_BIT( 0x18, 0x00, IPT_UNUSED ) /* trackball input, handled in machine/missile.c */
  273.     PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_TILT )
  274.     PORT_BITX(0x40, IP_ACTIVE_LOW, IPT_SERVICE , DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
  275.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
  276.  
  277.     PORT_START    /* IN2 */
  278.     PORT_DIPNAME(0x03, 0x00, DEF_STR( Coinage ) )
  279.     PORT_DIPSETTING(   0x01, DEF_STR( 2C_1C ) )
  280.     PORT_DIPSETTING(   0x00, DEF_STR( 1C_1C ) )
  281.     PORT_DIPSETTING(   0x03, DEF_STR( 1C_2C ) )
  282.     PORT_DIPSETTING(   0x02, DEF_STR( Free_Play ) )
  283.     PORT_DIPNAME(0x0c, 0x00, "Right Coin" )
  284.     PORT_DIPSETTING(   0x00, "*1" )
  285.     PORT_DIPSETTING(   0x04, "*4" )
  286.     PORT_DIPSETTING(   0x08, "*5" )
  287.     PORT_DIPSETTING(   0x0c, "*6" )
  288.     PORT_DIPNAME(0x10, 0x00, "Center Coin" )
  289.     PORT_DIPSETTING(   0x00, "*1" )
  290.     PORT_DIPSETTING(   0x10, "*2" )
  291.     PORT_DIPNAME(0x20, 0x20, DEF_STR( Unknown ) )
  292.     PORT_DIPSETTING(   0x20, DEF_STR( Off ) )
  293.     PORT_DIPSETTING(   0x00, DEF_STR( On ) )
  294.     PORT_DIPNAME(0xc0, 0x40, "Game" )
  295.     PORT_DIPSETTING(   0x00, "Missile Command" )
  296.     PORT_DIPSETTING(   0x40, "Easy Super Missile Attack" )
  297.     PORT_DIPSETTING(   0x80, "Reg. Super Missile Attack" )
  298.     PORT_DIPSETTING(   0xc0, "Hard Super Missile Attack" )
  299.  
  300.     PORT_START    /* IN3 */
  301.     PORT_DIPNAME(0x03, 0x00, "Cities" )
  302.     PORT_DIPSETTING(   0x02, "4" )
  303.     PORT_DIPSETTING(   0x01, "5" )
  304.     PORT_DIPSETTING(   0x03, "6" )
  305.     PORT_DIPSETTING(   0x00, "7" )
  306.     PORT_DIPNAME(0x04, 0x04, "Bonus Credit for 4 Coins" )
  307.     PORT_DIPSETTING(   0x04, DEF_STR( No ) )
  308.     PORT_DIPSETTING(   0x00, DEF_STR( Yes ) )
  309.     PORT_DIPNAME(0x08, 0x00, "Trackball Size" )
  310.     PORT_DIPSETTING(   0x00, "Large" )
  311.     PORT_DIPSETTING(   0x08, "Mini" )
  312.     PORT_DIPNAME(0x70, 0x70, "Bonus City" )
  313.     PORT_DIPSETTING(   0x10, "8000" )
  314.     PORT_DIPSETTING(   0x70, "10000" )
  315.     PORT_DIPSETTING(   0x60, "12000" )
  316.     PORT_DIPSETTING(   0x50, "14000" )
  317.     PORT_DIPSETTING(   0x40, "15000" )
  318.     PORT_DIPSETTING(   0x30, "18000" )
  319.     PORT_DIPSETTING(   0x20, "20000" )
  320.     PORT_DIPSETTING(   0x00, "None" )
  321.     PORT_DIPNAME(0x80, 0x00, DEF_STR( Cabinet ) )
  322.     PORT_DIPSETTING(   0x00, DEF_STR( Upright ) )
  323.     PORT_DIPSETTING(   0x80, DEF_STR( Cocktail ) )
  324.  
  325.     PORT_START    /* FAKE */
  326.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_X, 20, 10, 0, 0)
  327.  
  328.     PORT_START    /* FAKE */
  329.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_Y | IPF_REVERSE, 20, 10, 0, 0)
  330.  
  331.     PORT_START    /* FAKE */
  332.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_X | IPF_REVERSE | IPF_COCKTAIL, 20, 10, 0, 0)
  333.  
  334.     PORT_START    /* FAKE */
  335.     PORT_ANALOG( 0x0f, 0x00, IPT_TRACKBALL_Y | IPF_REVERSE | IPF_COCKTAIL, 20, 10, 0, 0)
  336. INPUT_PORTS_END
  337.  
  338.  
  339.  
  340. static struct POKEYinterface pokey_interface =
  341. {
  342.     1,    /* 1 chip */
  343.     1250000,    /* 1.25 MHz??? */
  344.     { 100 },
  345.     /* The 8 pot handlers */
  346.     { 0 },
  347.     { 0 },
  348.     { 0 },
  349.     { 0 },
  350.     { 0 },
  351.     { 0 },
  352.     { 0 },
  353.     { 0 },
  354.     /* The allpot handler */
  355.     { input_port_3_r },
  356. };
  357.  
  358.  
  359.  
  360. static struct MachineDriver machine_driver_missile =
  361. {
  362.     /* basic machine hardware */
  363.     {
  364.         {
  365.             CPU_M6502,
  366.             1000000,    /* 1 Mhz ???? */
  367.             readmem,writemem,0,0,
  368.             interrupt, 4  /* EEA was 1 */
  369.         }
  370.     },
  371.     60, DEFAULT_REAL_60HZ_VBLANK_DURATION,    /* frames per second, vblank duration */
  372.     10,
  373.     missile_init_machine,
  374.  
  375.     /* video hardware */
  376.     256, 231, { 0, 255, 0, 230 },
  377.     0,
  378.     8, 0,
  379.     0,
  380.  
  381.     VIDEO_TYPE_RASTER | VIDEO_MODIFIES_PALETTE | VIDEO_SUPPORTS_DIRTY,
  382.     0,
  383.     missile_vh_start,
  384.     missile_vh_stop,
  385.     missile_vh_screenrefresh,
  386.  
  387.     /* sound hardware */
  388.     0,0,0,0,
  389.     {
  390.         {
  391.             SOUND_POKEY,
  392.             &pokey_interface
  393.         }
  394.     }
  395. };
  396.  
  397.  
  398.  
  399.  
  400. /***************************************************************************
  401.  
  402.   Game driver(s)
  403.  
  404. ***************************************************************************/
  405.  
  406. ROM_START( missile )
  407.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  408.     ROM_LOAD( "035820.02",    0x5000, 0x0800, 0x7a62ce6a )
  409.     ROM_LOAD( "035821.02",    0x5800, 0x0800, 0xdf3bd57f )
  410.     ROM_LOAD( "035822.02",    0x6000, 0x0800, 0xa1cd384a )
  411.     ROM_LOAD( "035823.02",    0x6800, 0x0800, 0x82e552bb )
  412.     ROM_LOAD( "035824.02",    0x7000, 0x0800, 0x606e42e0 )
  413.     ROM_LOAD( "035825.02",    0x7800, 0x0800, 0xf752eaeb )
  414.     ROM_RELOAD(            0xF800, 0x0800 )     /* for interrupt vectors  */
  415. ROM_END
  416.  
  417. ROM_START( missile2 )
  418.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  419.     ROM_LOAD( "35820-01.h1",  0x5000, 0x0800, 0x41cbb8f2 )
  420.     ROM_LOAD( "35821-01.jk1", 0x5800, 0x0800, 0x728702c8 )
  421.     ROM_LOAD( "35822-01.kl1", 0x6000, 0x0800, 0x28f0999f )
  422.     ROM_LOAD( "35823-01.mn1", 0x6800, 0x0800, 0xbcc93c94 )
  423.     ROM_LOAD( "35824-01.np1", 0x7000, 0x0800, 0x0ca089c8 )
  424.     ROM_LOAD( "35825-01.r1",  0x7800, 0x0800, 0x428cf0d5 )
  425.     ROM_RELOAD(               0xF800, 0x0800 )     /* for interrupt vectors  */
  426. ROM_END
  427.  
  428. ROM_START( suprmatk )
  429.     ROM_REGION( 0x10000, REGION_CPU1 ) /* 64k for code */
  430.     ROM_LOAD( "035820.sma",   0x5000, 0x0800, 0x75f01b87 )
  431.     ROM_LOAD( "035821.sma",   0x5800, 0x0800, 0x3320d67e )
  432.     ROM_LOAD( "035822.sma",   0x6000, 0x0800, 0xe6be5055 )
  433.     ROM_LOAD( "035823.sma",   0x6800, 0x0800, 0xa6069185 )
  434.     ROM_LOAD( "035824.sma",   0x7000, 0x0800, 0x90a06be8 )
  435.     ROM_LOAD( "035825.sma",   0x7800, 0x0800, 0x1298213d )
  436.     ROM_RELOAD(            0xF800, 0x0800 )     /* for interrupt vectors  */
  437. ROM_END
  438.  
  439.  
  440.  
  441. GAME( 1980, missile,  0,       missile, missile,  0, ROT0, "Atari", "Missile Command (set 1)" )
  442. GAME( 1980, missile2, missile, missile, missile,  0, ROT0, "Atari", "Missile Command (set 2)" )
  443. GAME( 1981, suprmatk, missile, missile, suprmatk, 0, ROT0, "Atari + Gencomp", "Super Missile Attack" )
  444.